
let scope : (string, Llvm.llvalue) Hashtbl.t = Hashtbl.create 10

(* Returns llvalue associated with given name *)
let query name = Hashtbl.find scope name

(* Associate value with name, possibly shadowing earlier binding *)
let push name value = Hashtbl.add scope name value

(* Remove association, restoring earlier one *)
let pop name = Hashtbl.remove scope name